{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Propagation de Labels\n", "\n", "Le machine learning supervisé, par exemple la classification comme on l'a vue dans le TP7, repose sur la disponibilité de données avec des labels.\n", "L'objectif de l'apprentissage était alors d'apprendre à prédire les labels pour des nouveaux points.\n", "\n", "Mais avoir des données avec des labels de bonne qualité demande un gros travail de labellisation, souvent très laborieux et pénible à réaliser. (Et souvent réalisé par des travailleur-euses extrêmement précaires, via des plateformes comme Amazon Mechanical Turk.)\n", "Comme les algorithmes de machine learning peuvent demander une quantité importante de données pour donner de bons résultats, il peut s'avérer utile de réussir à obtenir automatiquement les labels pour l'ensemble des données, à partir d'un nombre limité d'exemples.\n", "\n", "Ces labels peuvent être obtenus en exploitant une certaine notion de similarité entre les points, en supposant que deux points proches auront souvent le même label.\n", "Pour cela, on peut utiliser les mêmes techniques que celles que l'on a utilisées au TP précédent pour le machine learning non supervisé." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.collections import LineCollection\n", "\n", "# datasets\n", "from sklearn.datasets import make_circles, make_moons, make_blobs\n", "\n", "# arbres de décision\n", "from sklearn.tree import DecisionTreeClassifier\n", "\n", "# graphe des plus proches voisins\n", "from sklearn.neighbors import kneighbors_graph" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Jeux de données\n", "\n", "Commençons par générer quelques jeux de données, qui vont nous permettre d'étudier le comportement de notre algorithme de propagation de labels dans plusieurs situations." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X_circle, y_circle = make_circles(noise=0.05, factor=0.2, shuffle=True, random_state=123)\n", "X_moons, y_moons = make_moons(noise=0.05, shuffle=True, random_state=123)\n", "X_noisy, y_noisy = make_blobs(cluster_std=1.5, random_state=123)\n", "\n", "y_circle, y_moons, y_noisy = y_circle.astype(\"float32\"), y_moons.astype(\"float32\"), y_noisy.astype(\"float32\")\n", "\n", "fig, ax = plt.subplots(1, 3, figsize=(20,5))\n", "\n", "ax[0].scatter(X_circle[:,0], X_circle[:,1], c=y_circle, cmap=\"Dark2\")\n", "ax[1].scatter(X_moons[:,0], X_moons[:,1], c=y_moons, cmap=\"Dark2\")\n", "ax[2].scatter(X_noisy[:,0], X_noisy[:,1], c=y_noisy, cmap=\"Dark2\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def afficher_frontiere(clf, X, y, trained_on=None, ax=None):\n", " \"\"\"\n", " Affiche les frontières de décision du classifieur `clf`.\n", " \n", " L'argument `trained_on`, s'il est donné, doit être sous la forme d'une\n", " liste d'entiers, correspondant aux indices des éléments du dataset qui\n", " ont été utilisés pour entraîner le modèle, pour les afficher en couleur\n", " dans le plot final.\n", " \n", " L'argument `ax` permet d'afficher le résultat sur des axes, sinon une\n", " nouvelle figure est générée.\n", " \"\"\"\n", " h=0.01\n", "\n", " if ax is None:\n", " _, ax = plt.subplots()\n", " \n", " if trained_on is None:\n", " ax.scatter(X[:,0], X[:,1], c=y, cmap=\"Dark2\")\n", " else:\n", " ax.scatter(X[:, 0], X[:, 1], c=\"lightgrey\")\n", " ax.scatter(X[trained_on, 0], X[trained_on, 1], c=y[trained_on], cmap=\"Dark2\")\n", " pb=clf.predict(X)\n", " \n", "\n", " # grille\n", " x_min, x_max = X[:, 0].min() - 0.2, X[:, 0].max() + 0.2\n", " y_min, y_max = X[:, 1].min() - 0.2, X[:, 1].max() + 0.2\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", "\n", " # labels prédits pour chacun des points de la grille\n", " Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", " # affichage du résultat\n", " Z = Z.reshape(xx.shape)\n", " ax.imshow(Z, interpolation=\"nearest\",\n", " extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n", " cmap=\"Dark2\", aspect=\"auto\", origin=\"lower\", alpha=0.6)\n", " \n", " ax.axis(\"off\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question 1.** Entrainez des `DecisionTreeClassifier` sur chacun de ces trois jeux de données, et affichez les frontières de décision des modèles appris avec la fonction `afficher_frontiere` donnée ci-dessus." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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q2vnNnp3krdW1Q+q6omqunNSAwIw8+QEAOPICYA5se3LzZLUFud6i8/z/iQfSfL6JP9aVY91909/5xNVHUtyLEmuu+66S58WgFkkJwAYR04AzIkhTxKtJrl2w/GBJOe2WPP97v5Nd7+U5NEkN2z+RN19oruXuntp3759lzszALNFTgAwjpwAmBNDSqLHkxyqqoNVdVWS25Oc3rTmO0k+VFV7q+oNST6Y5NnJjgrAjJITAIwjJwDmxLYvN+vuC1V1T5JHkuxJcrK7z1TV3WvXj3f3s1X1/SRPJXk1yQPd/cw0BwdgNsgJAMaREwDzo7o3vxx4ZywtLfXy8vKufG2AWVZVT3T30m7PsdvkBMDW5MSInADY2pXkxJCXmwEAAACw4JREAAAAACiJAAAAAFASAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAAFESAQAAABAlEQAAAABREgEAAAAQJREAAAAAURIBAAAAECURAAAAABlYElXVrVX1XFWtVNV9Y9Z9oKpeqaqPT25EAGadnABgHDkBMB+2LYmqak+S+5McSXI4yR1Vdfgi676U5JFJDwnA7JITAIwjJwDmx5AniW5KstLdZ7v75SSnkhzdYt1nk3wryYsTnA+A2ScnABhHTgDMiSEl0f4kL2w4Xl0793+qan+SjyU5PrnRAJgTcgKAceQEwJwYUhLVFud60/GXk9zb3a+M/URVx6pquaqWz58/P3BEAGacnABgHDkBMCf2DlizmuTaDccHkpzbtGYpyamqSpJrktxWVRe6+9sbF3X3iSQnkmRpaWlzMAAwn+QEAOPICYA5MaQkejzJoao6mOS/ktye5BMbF3T3wfV/V9WDSf5x8w0dgIUlJwAYR04AzIltS6LuvlBV92T0Vwb2JDnZ3Weq6u616143DPAaJicAGEdOAMyP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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 3, figsize=(20,5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graphe des k plus proches voisins\n", "\n", "Les deux fonctions suivantes permettent de générer le graphe des k plus proches voisins d'un jeu de donnée, et d'afficher ce graphe." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def graphe_voisins(X, nb_voisins=10):\n", " return kneighbors_graph(X, nb_voisins, include_self=True).todense()\n", " \n", "def afficher_graphe_voisins(X, graphe, y=None, ax=None):\n", " segs = []\n", " for i, x in enumerate(X):\n", " for j, z in enumerate(X):\n", " if graphe[i,j] > 0:\n", " segs.append((x, z))\n", "\n", " line_segments = LineCollection(segs, linewidths=2, linestyle='solid', color=\"pink\", zorder = -1)\n", "\n", " if ax is None:\n", " _, ax = plt.subplots()\n", " \n", " ax.set_axis_off()\n", " ax.add_collection(line_segments)\n", " \n", " if y is None:\n", " ax.scatter(X[:,0], X[:, 1], color=\"grey\")\n", " else:\n", " ax.scatter(X[:,0], X[:, 1], color=\"#AAAAAA\")\n", " ax.scatter(X[:,0], X[:, 1], c=y, cmap=\"Dark2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Par exemple, sur le jeu de données `X_moons`, on obtient :" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mat = graphe_voisins(X_moons, nb_voisins=10)\n", "afficher_graphe_voisins(X_moons, mat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question 2.** Affichez le graphe des plus proches voisins sur le dataset `X_moons`. Faites varier le nombre de voisins dans le graphe (argument `nb_voisins` de `graphe_voisins`).\n", "\n", "Que se passe-t-il quand le nombre de voisins est trop petit (par exemple quand il vaut 1 ou 2) ? Et quand il est trop grand (plus de 30 par exemple) ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Réponse :*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Propagation de labels\n", "\n", "Maintenant que nous avons une façon de mesurer la proximité entre des points, on peut essayer de propager les labels dans le graphe.\n", "\n", "On procède ainsi :\n", "* au début, on ne connaît les labels que de quelques points ;\n", "* ensuite, on boucle :\n", " * pour chacun des points, on regarde tous ses voisins dans le graphe, et on distingue deux cas :\n", " * si aucun de ses voisins n'a de label, auquel cas on ne donne pas de label au point ;\n", " * sinon, on prend le label qui apparaît le plus dans ses voisins.\n", " \n", "C'est donc un algorithme itératif, qui attribue itérativement des nouveaux labels aux points.\n", "On l'appelle **propagation de labels**, car les labels se propagent à leurs voisins, jusqu'à ce qu'une situation stable soit atteinte." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cet algorithme est implémenté dans la fonction suivante :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def propager_labels(X, y, graphe, afficher=False):\n", " adj = [np.where(graphe[i,:] == 1)[1] for i in range(graphe.shape[0])]\n", " labels = y.copy()\n", " old_labels = -labels\n", " \n", " while not ((labels == old_labels) | (np.isnan(labels) & np.isnan(old_labels))).all():\n", " \n", " if afficher:\n", " afficher_graphe_voisins(X, graphe, y=labels)\n", " \n", " old_labels = labels.copy()\n", " colors = labels[adj]\n", " colors_nonan = [np.unique(c[~(np.isnan(c))], return_counts=True) for c in colors]\n", " labels = [c[0][np.argmax(c[1])] if len(c[0]) > 0 else labels[i] for i,c in enumerate(colors_nonan)]\n", " labels = np.array(labels)\n", " \n", " afficher_graphe_voisins(X, graphe, y=labels)\n", " \n", " return labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour représenter les valeurs de `y` pour lesquelles on ne connaît pas le label, on utilise `np.nan`, il suffit donc de mettre la valeur `np.nan` à la place de tous les labels qu'on ne connaît pas.\n", "\n", "Ainsi, on peut par exemple garder seulement les labels des deux premiers éléments de `X_moons` (qui, par chance, ont deux labels différents).\n", "Regardons ce qui se passe :" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [ "y2 = y_moons.copy()\n", "y2[2:] = np.nan\n", "propager_labels(X_moons, y2, graphe_voisins(X_moons), afficher=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On retrouve bien les labels que l'on voudrait trouver.\n", "\n", "**Question 3.** Lancez la fonction en utilisant les graphes de la question 2, avec soit très peu soit beaucoup de voisins, et sur les mêmes labels que dans la cellule de code précédente. (C'est-à-dire la variable `y2` où seuls les deux premiers labels sont gradés.) Que constatez-vous dans chacun des cas ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": false }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Réponse :*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question 4.a.** Lancez l'algorithme de la même façon sur les jeux de données `X_noisy` et `X_circle`, en gardant à chaque fois uniquement les $5$ premiers labels des datasets.\n", "Pour ces deux datasets, cherchez le nombre de voisins dans le graphe des plus proches voisins qui fonctionne bien." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# garder seulement les 5 premiers labels pour le dataset X_circle, y_circle\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# garder seulement les 5 premiers labels pour le dataset X_noisy, y_noisy\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question 4.b.** Que dire des labels obtenus par notre algorithme sur les donnes `X_noisy` ? Que dire des labels obtenus dans une situation où les mesures des points de X sont très imprécises ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Réponse :*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Entraînement d'arbres de décision\n", "\n", "Le but de la propagation de labels est de pouvoir entraîner des modèles plus pertinents, malgré le manque de données avec des labels.\n", "\n", "Essayons donc de voir ce que l'on a gagné.\n", "Pour cela, on peut reprendre le code de la question 1, pour entraîner des arbres de décision en n'utilisant cette fois plus que les 5 premiers points de chacun de nos datasets.\n", "\n", "On obtient les classifieurs suivants, les points dont les labels ont été utilisés sont affichés en couleur, et les autres en gris clair." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "clf = DecisionTreeClassifier()\n", "fig, ax = plt.subplots(1, 3, figsize=(20,5))\n", "\n", "clf.fit(X_circle[:5,:], y_circle[:5])\n", "afficher_frontiere(clf, X_circle, y_circle, trained_on=np.arange(5), ax=ax[0])\n", "\n", "clf.fit(X_moons[:5,:], y_moons[:5])\n", "afficher_frontiere(clf, X_moons, y_moons, trained_on=np.arange(5), ax=ax[1])\n", "\n", "clf.fit(X_noisy[:5,:], y_noisy[:5])\n", "afficher_frontiere(clf, X_noisy, y_noisy, trained_on=np.arange(5), ax=ax[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Question 5.** Reprenez le code de la question 4.a., en utilisant `propager_labels` pour calculer les labels obtenus par propagation. Entraînez à nouveau des arbres de décision et commentez les résultats obtenus." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }